Teaching Semantics of Programming Languages with Modular SOS
نویسنده
چکیده
Most undergraduate courses on formal semantics are based on conventional Structural Operational Semantics (SOS) and/or Denotational Semantics. Typically, they give semantic descriptions of a series of small programming languages, starting from a very simple one, and subsequently extending it with various new features. For each extension, however, it is usually necessary to revisit the description of the constructs of the initial language, and reformulate it to take account of the new features – although the required reformulation is often so routine that it may be left as an exercise. In contrast, a course based on Modular SOS gives an independent description of each language construct, and no reformulation at all is needed when adding new features. Such a course has been given for 3rd-year undergraduates at the University of Aarhus, Denmark, 2001–2004. A further novelty of the course was to use substantial fragments of a real programming language (Standard ML) for illustration and exercises. Moreover, tool support for Modular SOS enabled the students to add their own descriptions of new constructs to a given language description, and to check empirically whether the resulting semantics of programs in the extended language was as intended.
منابع مشابه
A Modular SOS for ML Concurrency Primitives
Modularity is an important pragmatic aspect of semantic descriptions. In denotational semantics, the issue of modularity has received much attention, and appropriate abstractions have been introduced, so that definitions of semantic functions may be independent of the details of how computations are modelled. In structural operational semantics (SOS), however, this issue has largely been neglec...
متن کاملModular SOS: Differences from SOS
Modular SOS (MSOS) is a simple variant of conventional Structural Operational Semantics (SOS). Using MSOS, the transition rules for each construct of a programming language can be given definitively, once and for all, and never need reformulation when further constructs are added to the language. MSOS thus provides an exceptionally high degree of modularity in language descriptions, thereby rem...
متن کاملHoots99 Preliminary Version a Modular Sos for Ml Concurrency Primitives
Modularity is an important pragmatic aspect of semantic descriptions. In denota-tional semantics, the issue of modularity has received much attention, and appropriate abstractions have been introduced, so that deenitions of semantic functions may be independent of the details of how computations are modelled. In structural operational semantics (SOS), however, this issue has largely been neglec...
متن کاملDynamic Structural Operational Semantics
We introduce Dynamic SOS as a framework for describing semantics of programming languages that include dynamic software upgrades. Dynamic SOS (DSOS) is built on top of the Modular SOS of P. Mosses, with an underlying category theory formalization. The idea of Dynamic SOS is to bring out the essential differences between dynamic upgrade constructs and program execution constructs. The important ...
متن کاملFormal Component-Based Semantics
One of the proposed solutions for improving the scalability of semantics of programming languages is Component-Based Semantics, introduced by Peter D. Mosses. It is expected that this framework can also be used effectively for modular meta theoretic reasoning. This paper presents a formalization of Component-Based Semantics in the theorem prover COQ. It is based on Modular SOS, a variant of SOS...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006